package main

import (
	"os/exec"
	"syscall"
	"os"
	"log"
)

func main(){

	// := 直接赋值，不用声明变量，go可以进行类型推断
	cmd := exec.Command("sh")

	// &符号的作用是取变量的地址 *是取变量的值
	cmd.SysProcAttr = &syscall.SysProcAttr{
		Cloneflags:syscall.CLONE_NEWUTS | syscall.CLONE_NEWIPC |
			syscall.CLONE_NEWPID | syscall.CLONE_NEWNS | syscall.CLONE_NEWNET  ,}


	cmd.Stdin = os.Stdin
	cmd.Stdout = os.Stdout
	cmd.Stderr = os.Stderr

	if err := cmd.Run(); err != nil {
		log.Fatal(err)
	}

	os.Exit(-1)

}
